For the purpose of the description herein, the term “computer-based management system” is used to refer to a computer-implemented method operating on a processing system. The method is for assisting the management of human collaborative undertakings, and uses at least one of a user interface for a human user (the “user interface”), a collection of behaviors, a data store and/or a collection of one or more interfaces (APIs) for programmatically accessing the computer-based management system.
Today, there exists a wide variety of computer-based management systems for assisting the management of human collaborative undertakings, such undertakings including one-off (i.e., once only) activities, groups of activities, e.g., projects and subprojects, as well as repeating and business-as-usual activities. Typically, such a computer-based management system provides for storing, retrieving and manipulating at least one pre-determined type of data, e.g., a data object type for a task. One example of a computer-based management system is a computer-based project management system.
Some typical applications for computer-based management systems include but are not restricted to:                Planning projects, e.g., planning work breakdown structures and individual activities.        Tracking actual performance and comparing that performance with a plan, e.g., the original plan.        Reporting and highlighting deviation of actual performance from the original plan.        Scheduling the use of human and material resources.        Recording costs and time spent on individual activities and projects.        Creating high-level overviews of current status and progress.        
The functions carried out by a computer-based management system are sometimes called behaviors. As used herein, a behavior of a computer-based management system is one of:                Storing, retrieving and/or manipulating data related to at least one human undertaking, e.g., data representing real-world activities, risks and issues.        Displaying such data; generating reports, e.g., for on-screen display and for printing; analyzing data stored by the computer-based management system, e.g., performance assessments for individual employees.        Providing additional support for typical management activities, including, for example, one or more of: project schedule planning, e.g., by providing for automated Gantt chart or other planning chart creation; resource scheduling; budgeting; work breakdown structure creating; workflow automation; progress reporting; automated dashboard views; reporting; monitoring standards compliance, and so forth.        
For the purpose of the description herein, by a computer-based management system being able to “handle” data of a data object type is meant that the computer-based management system is able to store, retrieve, and/or manipulate that type of data. Typically, the types of data handled by a given computer-based management system are pre-determined. In some cases, the computer-based management system also is configurable to handle additional data object types. Some examples of data object types handled by computer-based management systems include tasks, projects, subprojects, phases, project portfolios, risks, issues, decisions, resolutions, meeting minutes, notes, timesheet entries, budgets, and so forth.
Those skilled in the art will appreciate that computer-based management systems typically store and manipulate data in a structured data format. Such data in structured data format (the “structured data”) includes discrete data objects of known type. Each data object has one or more associated data structures that includes at least one discrete data field of known type, each data field able to contain a value. For example, a data object of type “Project” has an associated data structure that includes a name data field that is a fixed-width string, a start date data field, an end date data field, and a description data field that is a free-text data field. Furthermore, some computer-based management systems provide for data objects referencing other data objects. For example, a task data object references a project data object, which may be used to indicate that the referring task belongs to the referenced project.
Therefore, as used herein, “structured data” refers to data that can be input, stored, retrieved, and/or manipulated by a computer-based management system.
As one example, consider a computer-based management system that stores data in a relational database. The handled data in this example computer-based management system is stored as records in tables, and references between data objects are stored as foreign keys. In such an example, a structured data object has at least one record for a table for use in a relational database. One example of providing data for a structured data object is filling in a form, the filling of the form providing one or more fields of the associated data structure(s), e.g., of a record meant for a table.
As another example, a computer-based management system might store data in an XML file, including storing the handled data as XML elements, storing the data fields as element attributes, and storing the references using element nesting.
Those skilled in the art will appreciate that there are many forms possible for storing data handled by computer-based management systems. Furthermore, those skilled in the art will appreciate that in some computer-based management systems data is presented to the user as a single conceptual data object, but is stored as one or more data structures in the data store of the computer-based management system. For the purpose of the description herein, unless explicitly otherwise indicated, the term “data object” or “structured data object” always refers to a conceptual data object, e.g., a task, or an issue, and associated with each such data object are one or more physical data structures that a specific computer-based management system uses to store and manipulate the data of the data object. The one or more physical data structures are collectively called the structured data of the data object. Structured data may refer to more than one data object; such structured data is referred to as the structured data corresponding to the more than one data objects.
In addition to handling data, some computer-based management systems provide other support for management activities, including, for example, project schedule planning, e.g., by providing automated Gantt chart creation, resource scheduling, budgeting, work breakdown structure creating, workflow automation, progress reporting, automated dashboard views, and reporting and monitoring standards of compliance.
Embodiments of such systems range from a simple document template, e.g., a spreadsheet for entering all current risks according to the pre-determined structure of the spreadsheet, to sophisticated, purpose-built programs, e.g., Primavera Project Planner by Primavera Systems, Inc., and Microsoft Project (TM). Those skilled in the art will appreciate that a single organization might operate many such computer-based management systems, each computer-based management system for assisting a different aspect of managing the organization's activities in accordance with the standards and rules of the organization.
Typically, users interact with a computer-based management system by directly accessing a user interface provided by the computer-based management system. A typical user interface might include at least one fillable “form,” the form having a pre-determined collection of controls for at least one of: viewing data, editing data, triggering a behavior, and/or navigating to other forms. Those skilled in the art will appreciate that in many cases the data controls of a form are largely determined by the structure of the structured data format (the “schema”) used by the data store.
Furthermore, some computer-based management systems permit other software products to interact by means of an application programming interface (“API”), the API providing for programmatic access to at least one of behavior and data included in the computer-based management system. Typically, programmatic access to data requires the use of a structured data format, i.e. a schema, and typically that schema is also based on the schema used by the data store of the computer-based management system.
Those skilled in the art will appreciate that the use of structured data in computer-based management systems provides several important advantages over simply storing a collection of free-text documents, including simplifying the automated interpretation and understanding of the data, simplifying the code for handling the data, improving the speed and efficiency of data handling, and providing for simpler reporting and summarization of the data.
A typical interaction with such a computer-based management system is shown in simplified conceptual form in FIG. 1. In this embodiment the computer-based management system includes a management program 120 that implements a user interface, the behaviors, and the API of the computer-based management system, and a database 110 for the data store of the computer-based management system.
A user acting as author 150, e.g., a manager creating a new task and allocating that task to an employee, creates a new data object, e.g., the task, by interacting with the user interface provided by the management program 120. The interacting requires the user to navigate to the correct form for entering data field values for the new data object. As an example, the user interface might provide a New Tasks Form.
Once the user enters the data in the appropriate form, the management program 120 stores the information in the database 110.
Consider another user acting as a recipient 160, e.g., as the employee to whom the new task has been allocated. Such a recipient 160 interacts with the user interface of the management program 120 to request information. In this example, the employee requests to see all tasks allocated to him/her.
In many cases, users will at times act as authors and at other times act as recipients. In some cases, the author of a data object is also one of the eventual recipients of information he/she has created, e.g., a manager creates a new task and retrieves that task at a later time.
FIG. 4 illustrates this same typical interaction in Gane-Sarson data flow diagram notation.
As is evident in the above example, typical computer-based management systems force an indirect communication between the author and the intended recipients of that information. Both the author and the eventual recipients of that information feel they are interacting with the computer-based management system rather than interacting directly with each other.
In some cases, possibly in many cases, users will feel that it is better or even necessary to communicate important information directly, even if that information has been entered into a computer-based management system. For example, a manager allocating an important task to an employee might enter the task into the computer-based management system, but also sends an email to the employee in order to communicate the information directly. In this example case, the manager is effectively forced to create the data twice—once entering it into the computer-based management system and again writing it in an email.
To overcome this problem, some computer-based management systems automate the sending of an email to users who are intended recipients of some information in the computer-based management system. For example, Microsoft Project Server™ automates the sending of emails for the purpose of notifying users that changes have been made to the tasks of a project, and for the purpose of alerting users of upcoming and overdue events for which they are responsible.
However, as will be appreciated by those skilled in the art, automated emails lack the sense of immediacy and direct interpersonal communication of an email sent directly from one user to another.
Furthermore, since automated emails are typically created according to a very limited set of templates, each automated email will look very similar to other automated emails created from the same template. Thus, automated emails tend to be less effective at securing the appropriate level of attention from a recipient than emails created by a human. In some cases, possibly in many cases, users begin to anticipate that the automated emails will fail to have the desired effect on recipients, and will therefore choose to manually author additional emails to achieve the desired level of communication. In such situations, not only are authors of data duplicating their efforts in authoring data, but recipients receive multiple emails in relation to the same information. Users already struggling with managing the contents of growing email inboxes are additionally burdened with having to deal with redundant emails.
Those skilled in the art will appreciate that in some cases, possibly in many cases, users limit their use of computer-based management systems over time, and in some cases, users might cease regular use of the computer-based management system altogether.
On the other hand, the free-text format of email permits users to select for each email the most appropriate structure, content, wording, and layout for the purpose of communicating the data to the specific intended recipient(s). However, since prior art computer-based management systems typically require structured data, and emails include free-text, the use of emails as a source of data for use in computer-based management systems is typically limited to treating the entire email as a single data object. For example, Problem Tracker™ by Net Results Corporation, Palo Alto, Calif., treats any received email as a single issue. Those skilled in the art will appreciate that often emails will include data that, when converted to structured data, would actually result in multiple data objects, possibly of varying types, and possibly handled by multiple disjoint computer-based management systems. Thus, treating an email as a single data object is not sufficient in many cases, and places severe constraints on a user's freedom to select the content of the email.
Thus, there is a need in the art for a method of interacting with a computer-based management system, including creating, editing, or deleting structured data in the computer-based management system, the method also including communicating the data to any intended human recipient(s) in the form of a free-text message.
Furthermore, users of a computer-based management system must learn how to interact with that specific computer-based management system prior to effective use. The more feature-rich the computer-based management system, the longer and difficult the learning period is likely to be.
In an organization where multiple computer-based management systems are in use, e.g., where separate project, risk, and issue computer-based management systems are used, it is necessary for users to learn how to use and navigate multiple systems. Often, the method of interacting with a particular computer-based management system might differ significantly from the methods for other computer-based management systems, further lengthening the amount of time required for users to become effective.
Thus there exists a need in the art to standardize the method of interacting with computer-based management systems.
Furthermore, known methods for interacting with computer-based management systems typically require more effort, discipline and planning from users than communicating the same data by email. For example, a manager is writing an email to an employee to inform the employee of a new task allocation. The manager further includes in that email a list of the risks involved with the task, as well as an unrelated issue the employee is to resolve. Creating this type of information in many computer-based management systems would have required the manager to navigate to and use a form for creating tasks, a form for creating risks, a mechanism for linking risks to tasks, and a form for creating issues.
Some methods for interacting with computer-based management systems exist where structured data is created and emailed directly to the intended recipients. For example, Lotus Notes™ allows the creation of Notes Documents that can be emailed to other users as well as stored on a server. Microsoft Outlook™ allows the creation of Tasks and Meeting Invitations that can be emailed to other users.
In such methods the email client program provides the users with forms akin to the forms used in computer-based management systems, and further allows the information created in such forms to be emailed. The forms typically contain at least one data field of known type, where that type may be free-text. As with forms in computer-based management systems, users must create information according to the design of the form. Thus, such methods for interacting place the same restrictions on users with respect to the manner in which information can be created.
Those skilled in the art will appreciate that the lack of constraints, speed-of-use and ease-of use afforded by free-text methods typically cause users to prefer using those free-text methods, e.g., email, to interact via structured forms with computer-based management systems, and further, that in most organizations the use of email far outweighs the use of computer-based management systems.
Ideally, a new method is needed that exploits the popularity and advantages of email, that avoids necessitating a plurality of learning periods for a plurality of computer-based management systems, and that avoids the problems associated with automated emails generated from templates.
Thus, there exists a need in the art for a method for interacting with a computer-based management system, where the information is authored as free-text and converted to structured data for use by the computer-based management system, and where the free-text is then communicated directly to any intended recipients.
Furthermore, there is a need for the converting of free-text to structured data to be computer assisted, and not to require the user to manually author both the free-text and the equivalent structured data.
Those skilled in the art will appreciate that prior art methods for automatically converting free-text to structured data are typically complex to implement. Furthermore, owing to the complexity in correctly interpreting the ambiguities in natural language, in some cases, possibly in many cases, prior art methods for the automatic converting of free-text result in structured data that is not in accordance with the original intention of the author of the free-text.
Thus, there is a need in the art for a method for interacting with a computer-based management system, where information is authored as free-text and converted to structured data for use by the computer-based management system, and where the converting of free-text to structured data is simple to implement and reliably produces a result in accordance with the intentions of the author.